Enum Java-তে একটি বিশেষ ক্লাস যা একটি নির্দিষ্ট সংখ্যক কনস্ট্যান্ট ভ্যালু ধারণ করে। এটি Java 5 থেকে Java.lang.Enum ক্লাসের মাধ্যমে ইমপ্লিমেন্ট করা হয়েছে এবং এটি প্রোগ্রামিংয়ে ডেটার সীমাবদ্ধ সেট তৈরি করতে ব্যবহৃত হয়। Enums ব্যবহার করে নির্দিষ্ট সংখ্যক অবজেক্ট তৈরি করা যায় এবং সেই অবজেক্টগুলোর মধ্যে সিলেকশন করতে সুবিধা হয়।
Enum ক্লাসে কিছু বিশেষ মেথড রয়েছে, যা Java Enums ব্যবহার করার সময় সহায়ক। এই মেথডগুলো হল:
values()valueOf()ordinal()
এগুলি Enum ক্লাস দ্বারা প্রদান করা হয় এবং এগুলি ব্যবহার করা খুবই সাধারণ।
1. values() Method:
values() মেথড একটি Enum ক্লাসের সব কনস্ট্যান্টকে একটি অ্যারে হিসেবে রিটার্ন করে। এটি একটি static method যা আপনার Enum ক্লাসের সমস্ত কনস্ট্যান্টকে একত্রিত করে একটি অ্যারে প্রদান করে, যাতে আপনি তাদের উপর লুপ চালাতে পারেন।
Syntax:
public static T[] values()
- T:
Enumটাইপের কনস্ট্যান্ট।
Example:
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using values() to get all constants of the Day enum
Day[] days = Day.values();
for (Day day : days) {
System.out.println(day);
}
}
}
Output:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
ব্যাখ্যা:
Day.values()সমস্তDayenum কনস্ট্যান্টকে একটি অ্যারে হিসেবে রিটার্ন করেছে, এবং সেই অ্যারের উপরে লুপ চালিয়ে আমরা সমস্তDayকনস্ট্যান্ট দেখতে পেয়েছি।
2. valueOf() Method:
valueOf() মেথড একটি স্ট্যাটিক মেথড যা একটি স্ট্রিং ইনপুট গ্রহণ করে এবং সেই নামের সাথে মেলে এমন Enum কনস্ট্যান্ট রিটার্ন করে। যদি স্ট্রিংটি কোনও কনস্ট্যান্টের সাথে মেলেনা, তবে এটি IllegalArgumentException ছুঁড়ে দেয়।
Syntax:
public static T valueOf(String name)
- name:
Enumকনস্ট্যান্টের নাম যা স্ট্রিং হিসেবে দেওয়া হয়। - T:
Enumটাইপের কনস্ট্যান্ট।
Example:
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using valueOf() to get the enum constant
Day day = Day.valueOf("MONDAY");
System.out.println(day); // Output: MONDAY
}
}
Output:
MONDAY
ব্যাখ্যা:
Day.valueOf("MONDAY")মেথডটি"MONDAY"স্ট্রিং এর সাথে মিল রেখেDayenum থেকেMONDAYকনস্ট্যান্ট রিটার্ন করেছে।
Note: যদি "MONDAY" স্ট্রিং এর কোন কনস্ট্যান্ট না থাকে, তাহলে এটি IllegalArgumentException ছুঁড়ে দেবে।
3. ordinal() Method:
ordinal() মেথড একটি ইনস্ট্যান্স মেথড যা Enum কনস্ট্যান্টের আছানোর অবস্থান রিটার্ন করে। অর্থাৎ, এটি Enum কনস্ট্যান্টের ইনডেক্স বা পজিশন রিটার্ন করে, যা 0 থেকে শুরু হয়। এটি একটি int ভ্যালু রিটার্ন করে।
Syntax:
public int ordinal()
Example:
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using ordinal() to get the position of the enum constant
Day day = Day.WEDNESDAY;
System.out.println(day + " is at position " + day.ordinal());
}
}
Output:
WEDNESDAY is at position 3
ব্যাখ্যা:
Day.WEDNESDAY.ordinal()মেথডটিWEDNESDAYকনস্ট্যান্টের অবস্থান রিটার্ন করেছে, যা 3 (এবংordinal()0 থেকে গোনা শুরু হয়)।
সংক্ষেপে values(), valueOf(), ordinal() মেথডের কার্যকারিতা:
| Method | Purpose | Return Type |
|---|---|---|
values() | সমস্ত Enum কনস্ট্যান্টের অ্যারে রিটার্ন করে | T[] (Array) |
valueOf() | স্ট্রিং নাম দিয়ে একটি নির্দিষ্ট Enum কনস্ট্যান্ট রিটার্ন করে | T (Enum constant) |
ordinal() | Enum কনস্ট্যান্টের অবস্থান বা ইনডেক্স রিটার্ন করে | int (Position index) |
Java-তে Enum ক্লাসের values(), valueOf(), এবং ordinal() মেথডগুলি Enum কনস্ট্যান্টের সাথে কাজ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
values()আপনাকে একটিEnumএর সমস্ত কনস্ট্যান্ট একত্রে অ্যারে আকারে প্রদান করে।valueOf()স্ট্রিং এর মাধ্যমে একটি নির্দিষ্ট কনস্ট্যান্ট রিটার্ন করে।ordinal()কনস্ট্যান্টের অবস্থান বা ইনডেক্স রিটার্ন করে, যা অ্যারের ইনডেক্সের মতো কাজ করে।
এই তিনটি মেথড Enum ক্লাসের কার্যক্ষমতা এবং দক্ষতা বৃদ্ধি করে, এবং Java প্রোগ্রামিংয়ে Enum ব্যবহারের সুবিধা নিশ্চিত করে।
Read more